package com.paic.mhis.hcpms.assessment.biz.service;

import java.util.List;
import java.util.Map;

import com.paic.mhis.hcpms.assessment.dto.CodeAndScore;
import com.paic.mhis.hcpms.assessment.dto.CodeNameAndScore;

/**
 * 
 * Description:导出word从后台获取数据的相关方法
 * 
 * @author: EX-TIANZINONG001
 * @version:
 */
public interface ExportWordService {
	/**
	 * 
	 * Description:
	 * 
	 * @param coding
	 *            (key) 医院编码
	 * @return Map<String, Object> 返回当前医院的基本信息 coding 医院编码
	 * 
	 *         Modification History: Date Version Author Description
	 *         ------------
	 *         ------------------------------------------------------ 2015-3-11
	 *         mhis_hcpms EX-TIANZINONG001 创建
	 */
	public Map<String, Object> getHospitalInfo(String coding);

	/**
	 * 
	 * Description: 返回总得分
	 * 
	 * @param map
	 *            (key) coding 医院编码 nowDate 查询时间
	 * @return float 得分
	 * 
	 *         Modification History: Date Version Author Description
	 *         ------------
	 *         ------------------------------------------------------ 2015-3-11
	 *         mhis_hcpms EX-TIANZINONG001 创建
	 */

	public List<CodeAndScore> getindicatorCodeAndScore(Map<String, Object> map);

	/**
	 * 
	 * Description:获得本月 上月 及同等级机构一级指标的得分
	 * 
	 * @param map
	 *            医院编码coding 查询时间(当前月份nowDate还有上个月份lastDate) 指标体系编号 structureNO
	 * @return List 得分的集合
	 * 
	 *         Modification History: Date Version Author Description
	 *         ------------
	 *         ------------------------------------------------------ 2015-3-11
	 *         mhis_hcpms EX-TIANZINONG001 创建
	 */
	public String getStructureNo(Map<String, Object> map);

	/**
	 * 
	 * Description: 根据kpiTime查询全市所有医院的总数
	 * 
	 * @param mapParamter
	 *            查询的时间 nowDate yyyy-MM
	 * @return int
	 * 
	 *         Modification History: Date Version Author Description
	 *         ------------
	 *         ------------------------------------------------------ 2015-3-11
	 *         mhis_hcpms EX-TIANZINONG001 创建
	 */

	public float getTotal(Map<String, Object> map);

	/**
	 * 
	 * Description: 当前得分在全市等分中的排名
	 * 
	 * @param mapParamter
	 *            coding 医院编码 和 查询时间 nowDate yyyy-MM
	 * @return int
	 * 
	 *         Modification History: Date Version Author Description
	 *         ------------
	 *         ------------------------------------------------------ 2015-3-11
	 *         mhis_hcpms EX-TIANZINONG001 创建
	 */

	public int getCityCount(Map<String, Object> mapParamter);

	/**
	 * 
	 * Description: 当前得分在全市等分中的排名
	 * 
	 * @param mapParamter
	 *            coding 医院编码 和 查询时间 nowDate yyyy-MM
	 * @return int
	 * 
	 *         Modification History: Date Version Author Description
	 *         ------------
	 *         ------------------------------------------------------ 2015-3-11
	 *         mhis_hcpms EX-TIANZINONG001 创建
	 */

	public int getCityRowNum(Map<String, Object> mapParamter);

	/**
	 * 
	 * Description: 返回本月同等级医院的总数
	 * 
	 * @param mapParamter
	 *            nowDate(key)
	 * @return int(总数)
	 * 
	 *         Modification History: Date Version Author Description
	 *         ------------
	 *         ------------------------------------------------------ 2015-3-11
	 *         mhis_hcpms EX-TIANZINONG001 创建
	 */

	public int getGradeCount(Map<String, Object> mapParamter);

	/**
	 * 
	 * Description: 返回本月同级别医院排名
	 * 
	 * @param mapParamter
	 *            (key)coding 医院编码 和 查询时间 nowDate yyyy-MM
	 * @return int
	 * 
	 *         Modification History: Date Version Author Description
	 *         ------------
	 *         ------------------------------------------------------ 2015-3-11
	 *         mhis_hcpms EX-TIANZINONG001 创建
	 */

	public int getGradeRowNum(Map<String, Object> mapParamter);

	/**
	 * 
	 * Description:同类别医院的排名
	 * 
	 * @param mapParamter
	 *            (key)coding 医院编码 和 查询时间 nowDate yyyy-MM
	 * @return int
	 * 
	 *         Modification History: Date Version Author Description
	 *         ------------
	 *         ------------------------------------------------------ 2015-3-11
	 *         mhis_hcpms EX-TIANZINONG001 创建
	 */
	public int getClassesRowNum(Map<String, Object> mapParamter);

	/**
	 * 
	 * Description:同类别医院的总数
	 * 
	 * @param mapParamter
	 *            (key)coding 医院编码 和 查询时间 nowDate yyyy-MM
	 * @return int
	 * 
	 *         Modification History: Date Version Author Description
	 *         ------------
	 *         ------------------------------------------------------ 2015-3-11
	 *         mhis_hcpms EX-TIANZINONG001 创建
	 */

	public int getClassesCount(Map<String, Object> mapParamter);

	/**
	 * 
	 * Description:word导出第四部分 fwa结果 三级指标
	 * 
	 * @param coding
	 * @param nowDate
	 * @return List
	 * 
	 *         Modification History: Date Version Author Description
	 *         ------------
	 *         ------------------------------------------------------ 2015-3-11
	 *         mhis_hcpms EX-TIANZINONG001 创建
	 */
	public List<CodeNameAndScore> getCodeNameAndScore(String coding, String nowDate, String regionCode,
			String structureNo, String grade);

	public Map<String, Object> getForthPartStr(String medicalOrgCode, String startDate, String endDate)
			throws Exception;
}
